package com.tjy.farmer.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjy.common.annotation.Excel;
import com.tjy.common.core.domain.BaseEntity;

/**
 * 蜂农越界报警记录对象 tb_farmer_alarm
 *
 * @author tjy
 * @date 2025-09-16
 */
public class FarmerAlarm extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 报警记录ID（主键） */
    private Long id;

    /** 蜂农ID（关联tb_farmer_info表的id，后端填充） */
    @Excel(name = "蜂农ID", readConverterExp = "关=联tb_farmer_info表的id，后端填充")
    private Integer farmerId;

    /** 蜂农姓名（冗余字段，后端关联查询填充） */
    @Excel(name = "蜂农姓名", readConverterExp = "冗=余字段，后端关联查询填充")
    private String farmerName;

    /** 蜂农联系电话（冗余字段，后端关联查询填充） */
    @Excel(name = "蜂农联系电话", readConverterExp = "冗=余字段，后端关联查询填充")
    private String farmerPhone;

    /** 养蜂区域名称（冗余字段，后端关联查询填充） */
    @Excel(name = "养蜂区域名称", readConverterExp = "冗=余字段，后端关联查询填充")
    private String areaName;

    /** 报警触发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报警触发时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date alarmTime;

    /** 报警类型（1：越界离开规定区域，2：越界进入禁止区域） */
    @Excel(name = "报警类型", readConverterExp = "1=：越界离开规定区域，2：越界进入禁止区域")
    private Integer alarmType;

    /** 状态（0：未处理，1：已处理） */
    private Integer status ;


    public FarmerAlarm(Integer farmerId, String farmerName,
                       String farmerPhone, String areaName,
                       Date alarmTime, Integer alarmType,
                       Integer status) {
        this.farmerId = farmerId;
        this.farmerName = farmerName;
        this.farmerPhone = farmerPhone;
        this.areaName = areaName;
        this.alarmTime = alarmTime;
        this.alarmType = alarmType;
        this.status = status;
    }

    public FarmerAlarm() {

    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }


    public void setFarmerName(String farmerName) {
        this.farmerName = farmerName;
    }

    public String getFarmerName() {
        return farmerName;
    }

    public void setFarmerPhone(String farmerPhone) {
        this.farmerPhone = farmerPhone;
    }

    public String getFarmerPhone() {
        return farmerPhone;
    }


    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAlarmTime(Date alarmTime) {
        this.alarmTime = alarmTime;
    }

    public Date getAlarmTime() {
        return alarmTime;
    }

    public void setAlarmType(Integer alarmType) {
        this.alarmType = alarmType;
    }

    public Integer getAlarmType() {
        return alarmType;
    }

    public Integer getFarmerId() {
        return farmerId;
    }

    public void setFarmerId(Integer farmerId) {
        this.farmerId = farmerId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}
